home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / oper_sys / emerald / emrldsys.lha / Kernel / h / edenPorts.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-08-17  |  3.2 KB  |  107 lines

  1. /* File: /u1/Eden/Source/MsgOps/edenPorts.h */
  2.  
  3. /*
  4.  * $Header:   /u1/Eden/Source/MsgOps/RCS/edenPorts.v  Revision 2.2  84/02/16  20:33:28  oystr  Exp$
  5.  * INTERFACE:    None.
  6.  *
  7.  * FUNCTION:    Define the types and constants associated with the Eden
  8.  *        port system.  This attempts to isolate as much of Eden
  9.  *        proper as possible from the underlying IPC mechanism.
  10.  *
  11.  * IMPORTS:    The concept of port defined by the underlying IPC mechanism.
  12.  *        In the particular case the type EdenPort must coincide exactly
  13.  *        with the CMU-IPC definition of `localport'.
  14.  *              /u1/Eden/StdTypes.h,
  15.  *              /u1/Eden/Source/MsgOps/MsgDefs.h.
  16.  *
  17.  * EXPORTS:    EdenPort, EdenPortName, MAXPORTNAME, NULLEDENPORT,
  18.  *              MMCreatePort, MMRemovePort, MMConnectPort, MMNamePort,
  19.  *              MMInitPorts, MMPortDeathInterrupt, MMMsgAccepted,
  20.  *              MMCleanPortHandler, MMSendIPCMsg.
  21.  *
  22.  * DESIGN:    Ad Hoc - just a front end to the most widely used CMU-IPC
  23.  *        procedures.
  24.  *
  25.  * $Log:    /u1/Eden/Source/MsgOps/RCS/edenPorts.v $
  26. Revision 2.2  84/02/16  20:33:28  oystr
  27. Checking version update is OK. No changes.
  28.  
  29. Revision 2.1  84/02/16  20:22:32  oystr
  30. Version 2 baseline
  31.  
  32. Revision 1.7  84/02/16  15:13:51  eric
  33. Proper port cleanup on port death implemented (ipc emergency signal
  34. handling).
  35.  
  36. Minor fixes:
  37. Signal handlers now 'proctect' QueueTask via 'HoldSigs(); ... ; ReleaseSigs()'
  38. Minor bug in TimerCode fixed.
  39.  
  40. NOTE:  The message module now makes heavy use of the HOTS table when
  41. using the Ether.  The HOTS table lookup routine has been optimized
  42. new hashing function and a one-element cache.
  43.  
  44. Revision 1.5  83/02/25  11:21:32  cady
  45. Fixed MsgDef.h include.
  46.  
  47. Revision 1.4  83/02/25  11:19:04  cady
  48. Added include for MsgDefs.h.
  49.  
  50. Revision 1.3  83/02/25  11:15:44  cady
  51. Added include for MsgDefs.h.
  52.  
  53. Revision 1.2  83/02/22  12:02:48  cady
  54. Added MMNamePort primitive.
  55.  
  56. Revision 1.1  83/01/06  14:32:28  cady
  57. Initial revision
  58.  
  59.  * 30-Dec-1982: Internode communication added. S. Cady.
  60.  * 27-Nov-1982: Revised for incorporation into Message Module. S. Cady
  61.  * 16-Nov-1982:    Initial implementation. J. Sanislo.
  62.  */
  63.  
  64. /****************************************************************/
  65. /*              Global Eden Port Type Definitions               */
  66. /****************************************************************/
  67.  
  68. #ifndef edenPorts
  69. #define edenPorts
  70.  
  71. /* Must correspond to the IPC NULLPORT */
  72.  
  73. #define NULLEDENPORT 0
  74. #define NETPORT      NULLEDENPORT
  75.  
  76. #define EdenPort unsigned char
  77.  
  78. #define MAXPORTNAME 32
  79. #define NULLNAME     0
  80.  
  81. typedef char EdenPortName[MAXPORTNAME];
  82.  
  83. #ifndef stdTypes
  84. #include "Kernel/h/stdTypes.h"
  85. #endif
  86.  
  87. #include "Kernel/h/mmMsgDefs.h"
  88.  
  89. /*   Message Module Eden Port Library External Definitions       */
  90.  
  91. extern KKStatus MMCreatePort(),
  92.                 MMRemovePort(),
  93.                 MMConnectPort(),
  94.                 MMNamePort();
  95.  
  96. extern void     MMInitPorts(),
  97.                 MMPortDeathInterrupt(),
  98.                 MMMsgAccepted(),
  99.                 MMCleanPortHandler();
  100. extern KKStatus MMSendIPCMsg();
  101.  
  102. #endif
  103.  
  104. /****************************************************************/
  105. /*          End of Global Eden Port Type Definitions            */
  106. /****************************************************************/
  107.